CC = g++
FLAGS = -O0 -Wall -g
DEP_PROJETO = grafo.o busca.o matrizAdjacencia.o DFS.o bfs.o feixe.o subidaEncosta.o melhorEscolha.o main.o
DEP_GRAFO = grafo.h grafo.cpp
DEP_MATRIZ_ADJACENCIA = matrizAdjacencia.h matrizAdjacencia.cpp grafo.o
DEP_BUSCA = busca.h busca.cpp grafo.o
DEP_BFS = bfs.h bfs.cpp busca.o
DEP_FEIXE = feixe.h feixe.cpp busca.o
DEP_DFS = DFS.h DFS.cpp busca.o matrizAdjacencia.o
DEP_SUBIDA_ENCOSTA = subidaEncosta.h subidaEncosta.cpp busca.o matrizAdjacencia.o
DEP_MELHOR_ESCOLHA = melhorEscolha.h melhorEscolha.cpp busca.o matrizAdjacencia.o
DEP_MAIN = main.cpp busca.o DFS.o bfs.o feixe.o subidaEncosta.o melhorEscolha.o

all: ${DEP_PROJETO}
	${CC} ${FLAGS} -o g3of8ig5o.exe ${DEP_PROJETO}

grafo: ${DEP_GRAFO}
	${CC} ${FLAGS} -c ${DEP_GRAFO}

busca: ${DEP_BUSCA}
	${CC} ${FLAGS} -c ${DEP_BUSCA}

matrizAdjacencia: ${DEP_MATRIZ_ADJACENCIA}
	${CC} ${FLAGS} -c ${DEP_MATRIZ_ADJACENCIA}

DFS:
	${CC} ${FLAGS} -c ${DEP_DFS}

bfs: ${DEP_BFS}
	${CC} ${FLAGS} -c ${DEP_BFS}

subidaEncosta: ${DEP_SUBIDA_ENCOSTA}
	${CC} ${FLAGS} -c ${DEP_SUBIDA_ENCOSTA}

melhorEscolha: ${DEP_MELHOR_ESCOLHA}
	${CC} ${FLAGS} -c ${DEP_MELHOR_ESCOLHA}

feixe: ${DEP_FEIXE}
	${CC} ${FLAGS} -c ${DEP_FEIXE}

main: ${DEP_MAIN}
	${CC} ${FLAGS} -c ${DEP_MAIN}

clean:
	del *.o g3of8ig5o.exe
